<?php

class Ruas_jalan_model extends arfaModel{

	function __construct(){
			parent::__construct();
			$this->table_name	= "ruas_jalan";
			$this->primary_key	= "ID_RUAS";
			$this->order_by		= "ID_RUAS ASC"; 
	}
	
	function cek_periode($periode) 
	{
		$this->db->select("*");
		$this->db->from($this->table_name);
		$this->db->where("ID_PERIODE", $periode);
		$query = $this->db->get();

		if ($query->num_rows() > 0) {
			return true;
		} 
		else 
		{
			return false;
		}
	}
	
	function hapus_periode($periode)
	{
		$this->db->where("ID_PERIODE",$periode);
		$this->db->delete($this->table_name);
	}
	
	function get_data()
	{
		$query = $this->db->query("
			SELECT
			ruas_jalan.ID_RUAS,
			ruas_jalan.ID_PERIODE,
			ruas_jalan.NAMA_KOTA,
			ruas_jalan.NO_RUAS1,
			ruas_jalan.NO_RUAS2,
			ruas_jalan.NO_RUAS3,
			ruas_jalan.NAMA_RUAS,
			ruas_jalan.PANJANG,
			ruas_jalan.HOTMIX_BAIK,
			ruas_jalan.HOTMIX_SEDANG,
			ruas_jalan.HOTMIX_RR,
			ruas_jalan.HOTMIX_RB,
			ruas_jalan.LAPEN_BAIK,
			ruas_jalan.LAPEN_SEDANG,
			ruas_jalan.LAPEN_RR,
			ruas_jalan.LAPEN_RB,
			ruas_jalan.LPC,
			ruas_jalan.TANAH,
			ruas_jalan.HUTAN,
			ruas_jalan.PULAU,
			ruas_jalan.RCI,
			ruas_jalan.IRI,
			master_periode.ID_PERIODE,
			master_periode.TGL_AWAL,
			master_periode.TGL_AKHIR
			FROM ruas_jalan
			JOIN master_periode master_periode ON ruas_jalan.ID_PERIODE = master_periode.ID_PERIODE
		");
		
		return $query->result_array();
	}
	
	function get_data_periode($periode)
	{
		$query = $this->db->query("
			SELECT
			ruas_jalan.ID_RUAS,
			ruas_jalan.ID_PERIODE,
			ruas_jalan.NAMA_KOTA,
			ruas_jalan.NO_RUAS1,
			ruas_jalan.NO_RUAS2,
			ruas_jalan.NO_RUAS3,
			ruas_jalan.NAMA_RUAS,
			ruas_jalan.PANJANG,
			ruas_jalan.HOTMIX_BAIK,
			ruas_jalan.HOTMIX_SEDANG,
			ruas_jalan.HOTMIX_RR,
			ruas_jalan.HOTMIX_RB,
			ruas_jalan.LAPEN_BAIK,
			ruas_jalan.LAPEN_SEDANG,
			ruas_jalan.LAPEN_RR,
			ruas_jalan.LAPEN_RB,
			ruas_jalan.LPC,
			ruas_jalan.TANAH,
			ruas_jalan.HUTAN,
			ruas_jalan.PULAU,
			ruas_jalan.RCI,
			ruas_jalan.IRI,
			master_periode.ID_PERIODE,
			master_periode.TGL_AWAL,
			master_periode.TGL_AKHIR
			FROM ruas_jalan
			JOIN master_periode master_periode ON ruas_jalan.ID_PERIODE = master_periode.ID_PERIODE
			WHERE ruas_jalan.ID_PERIODE = $periode
		");
		
		return $query->result_array();
	}
	
	function get_paktif()
	{
		$query = $this->db->query("
			SELECT
			ruas_jalan.ID_RUAS,
			ruas_jalan.ID_PERIODE,
			ruas_jalan.NAMA_KOTA,
			ruas_jalan.NO_RUAS1,
			ruas_jalan.NO_RUAS2,
			ruas_jalan.NO_RUAS3,
			ruas_jalan.NAMA_RUAS,
			ruas_jalan.PANJANG,
			ruas_jalan.HOTMIX_BAIK,
			ruas_jalan.HOTMIX_SEDANG,
			ruas_jalan.HOTMIX_RR,
			ruas_jalan.HOTMIX_RB,
			ruas_jalan.LAPEN_BAIK,
			ruas_jalan.LAPEN_SEDANG,
			ruas_jalan.LAPEN_RR,
			ruas_jalan.LAPEN_RB,
			ruas_jalan.LPC,
			ruas_jalan.TANAH,
			ruas_jalan.HUTAN,
			ruas_jalan.PULAU,
			ruas_jalan.RCI,
			ruas_jalan.IRI,
			master_periode.ID_PERIODE,
			master_periode.TGL_AWAL,
			master_periode.TGL_AKHIR,
			master_periode.STATUS_PERIODE
			FROM ruas_jalan
			JOIN master_periode master_periode ON ruas_jalan.ID_PERIODE = master_periode.ID_PERIODE
			WHERE master_periode.STATUS_PERIODE = 1
		");
		
		return $query->result_array();
	}
	
	function cetak_rekap($periode)
	{
		$query = $this->db->query("
			SELECT
			ruas_jalan.ID_RUAS,
			ruas_jalan.ID_PERIODE,
			ruas_jalan.NAMA_KOTA,
			ruas_jalan.NO_RUAS1,
			ruas_jalan.NO_RUAS2,
			ruas_jalan.NO_RUAS3,
			ruas_jalan.NAMA_RUAS,
			ruas_jalan.PANJANG,
			ruas_jalan.HOTMIX_BAIK,
			ruas_jalan.HOTMIX_SEDANG,
			ruas_jalan.HOTMIX_RR,
			ruas_jalan.HOTMIX_RB,
			ruas_jalan.LAPEN_BAIK,
			ruas_jalan.LAPEN_SEDANG,
			ruas_jalan.LAPEN_RR,
			ruas_jalan.LAPEN_RB,
			ruas_jalan.LPC,
			ruas_jalan.TANAH,
			ruas_jalan.HUTAN,
			ruas_jalan.PULAU,
			ruas_jalan.RCI,
			ruas_jalan.IRI,
			master_periode.ID_PERIODE,
			master_periode.TGL_AWAL,
			master_periode.TGL_AKHIR,
			master_periode.KETERANGAN
			FROM ruas_jalan
			JOIN master_periode master_periode ON ruas_jalan.ID_PERIODE = master_periode.ID_PERIODE
			WHERE master_periode.ID_PERIODE = $periode
		");
		
		return $query->result_array();
	}
	
	function cetak_rekap_total($periode)
	{
		$query = $this->db->query("
			SELECT
			ruas_jalan.ID_RUAS,
			ruas_jalan.ID_PERIODE,
			ruas_jalan.NAMA_KOTA,
			ruas_jalan.NO_RUAS1,
			ruas_jalan.NO_RUAS2,
			ruas_jalan.NO_RUAS3,
			ruas_jalan.NAMA_RUAS,
			ruas_jalan.PANJANG,
			ruas_jalan.HOTMIX_BAIK,
			ruas_jalan.HOTMIX_SEDANG,
			ruas_jalan.HOTMIX_RR,
			ruas_jalan.HOTMIX_RB,
			ruas_jalan.LAPEN_BAIK,
			ruas_jalan.LAPEN_SEDANG,
			ruas_jalan.LAPEN_RR,
			ruas_jalan.LAPEN_RB,
			ruas_jalan.LPC,
			ruas_jalan.TANAH,
			ruas_jalan.HUTAN,
			ruas_jalan.PULAU,
			ruas_jalan.RCI,
			ruas_jalan.IRI,
			master_periode.ID_PERIODE,
			master_periode.TGL_AWAL,
			master_periode.TGL_AKHIR,
			master_periode.KETERANGAN,
			SUM(ruas_jalan.HOTMIX_BAIK+ruas_jalan.HOTMIX_SEDANG+ruas_jalan.HOTMIX_RR+ruas_jalan.HOTMIX_RB+ruas_jalan.LAPEN_BAIK+ruas_jalan.LAPEN_SEDANG+ruas_jalan.LAPEN_RR+ruas_jalan.LAPEN_RB+ruas_jalan.LPC+ruas_jalan.TANAH+ruas_jalan.HUTAN) as TOTAL_JALAN,
			SUM(ruas_jalan.HOTMIX_BAIK+ruas_jalan.LAPEN_BAIK) as KONDISI_BAIK,
			SUM(ruas_jalan.HOTMIX_SEDANG+ruas_jalan.LAPEN_SEDANG) as KONDISI_SDG,
			SUM(ruas_jalan.HOTMIX_RR+ruas_jalan.LAPEN_RR) as KONDISI_RR,
			SUM(ruas_jalan.HOTMIX_RB+ruas_jalan.LAPEN_RB) as KONDISI_RB,
			SUM(ruas_jalan.HOTMIX_BAIK+ruas_jalan.HOTMIX_SEDANG+ruas_jalan.HOTMIX_RR+ruas_jalan.HOTMIX_RB+ruas_jalan.LAPEN_BAIK+ruas_jalan.LAPEN_SEDANG+ruas_jalan.LAPEN_RR+ruas_jalan.LAPEN_RB) as ASPAL,
			SUM(ruas_jalan.LPC+ruas_jalan.TANAH+ruas_jalan.HUTAN) as NON_ASPAL,
			SUM(ruas_jalan.HOTMIX_BAIK+ruas_jalan.HOTMIX_SEDANG+ruas_jalan.LAPEN_BAIK) as MANTAP,
			SUM(ruas_jalan.HOTMIX_RR+ruas_jalan.HOTMIX_RB+ruas_jalan.LAPEN_SEDANG+ruas_jalan.LAPEN_RR+ruas_jalan.LAPEN_RB) as TIDAK_MANTAP
			FROM ruas_jalan
			JOIN master_periode master_periode ON ruas_jalan.ID_PERIODE = master_periode.ID_PERIODE
			WHERE master_periode.ID_PERIODE = $periode
			GROUP BY ruas_jalan.NAMA_KOTA
		");
		
		return $query->result_array();
	}
	
	function hitung_jalan_baik()
	{
		$query = $this->db->query("
			SELECT
			ruas_jalan.ID_RUAS,
			ruas_jalan.ID_PERIODE,
			ruas_jalan.NAMA_KOTA,
			master_periode.ID_PERIODE,
			master_periode.STATUS_PERIODE
			FROM ruas_jalan
			JOIN master_periode master_periode ON ruas_jalan.ID_PERIODE = master_periode.ID_PERIODE
			WHERE master_periode.STATUS_PERIODE = 1
			GROUP BY ruas_jalan.NAMA_KOTA
		");
		
		return $query->result_array();
	}
	
	function get_persen()
	{
		$query = $this->db->query("
			SELECT
			ruas_jalan.ID_RUAS,
			ruas_jalan.ID_PERIODE,
			ruas_jalan.NAMA_KOTA,
			ruas_jalan.NO_RUAS1,
			ruas_jalan.NO_RUAS2,
			ruas_jalan.NO_RUAS3,
			ruas_jalan.NAMA_RUAS,
			ruas_jalan.PANJANG,
			ruas_jalan.HOTMIX_BAIK,
			ruas_jalan.HOTMIX_SEDANG,
			ruas_jalan.HOTMIX_RR,
			ruas_jalan.HOTMIX_RB,
			ruas_jalan.LAPEN_BAIK,
			ruas_jalan.LAPEN_SEDANG,
			ruas_jalan.LAPEN_RR,
			ruas_jalan.LAPEN_RB,
			ruas_jalan.LPC,
			ruas_jalan.TANAH,
			ruas_jalan.HUTAN,
			ruas_jalan.PULAU,
			ruas_jalan.RCI,
			ruas_jalan.IRI,
			master_periode.ID_PERIODE,
			master_periode.STATUS_PERIODE,
			SUM(ruas_jalan.HOTMIX_BAIK+ruas_jalan.HOTMIX_SEDANG+ruas_jalan.HOTMIX_RR+ruas_jalan.HOTMIX_RB+ruas_jalan.LAPEN_BAIK+ruas_jalan.LAPEN_SEDANG+ruas_jalan.LAPEN_RR+ruas_jalan.LAPEN_RB+ruas_jalan.LPC+ruas_jalan.TANAH+ruas_jalan.HUTAN) as TOTAL_JALAN,
			SUM(ruas_jalan.HOTMIX_BAIK+ruas_jalan.LAPEN_BAIK) as KONDISI_BAIK,
			SUM(ruas_jalan.HOTMIX_BAIK+ruas_jalan.HOTMIX_SEDANG+ruas_jalan.LAPEN_BAIK) as MANTAP,
			SUM(ruas_jalan.HOTMIX_RR+ruas_jalan.HOTMIX_RB+ruas_jalan.LAPEN_SEDANG+ruas_jalan.LAPEN_RR+ruas_jalan.LAPEN_RB) as TIDAK_MANTAP,
			COUNT(NAMA_RUAS) as JUMLAH_JALAN
			FROM ruas_jalan
			JOIN master_periode master_periode ON ruas_jalan.ID_PERIODE = master_periode.ID_PERIODE
			WHERE master_periode.STATUS_PERIODE = 1
		");
		
		return $query->result_array();
	}
}
?>